package org.cloudbus.cloudsim.container.containerPlacementPolicies; import org.cloudbus.cloudsim.container.core.ContainerVm; import java.util.List; import java.util.Set; /** * Created by sareh fotuhi Piraghaj on 16/12/15. * For container placement Most-Full policy. */ public class ContainerPlacementPolicyMostFull extends ContainerPlacementPolicy { @Override public ContainerVm getContainerVm(List<ContainerVm> vmList, Object obj, Set<? extends ContainerVm> excludedVmList) { ContainerVm selectedVm = null; double maxMips = Double.MIN_VALUE; for (ContainerVm containerVm1 : vmList) { if (excludedVmList.contains(containerVm1)) { continue; } double containerUsage = containerVm1.getContainerScheduler().getAvailableMips(); if ( containerUsage > maxMips) { maxMips = containerUsage; selectedVm = containerVm1; } } return selectedVm; } }